/*
 * BitManager.h
 *
 *  Created on: 27/11/2009
 *      Author: ngonzalez
 */

#ifndef BITMANAGER_H_
#define BITMANAGER_H_

#include <iostream>
#include <string>
#include "StateControl.h"
using namespace std;



class BitManager {

private:
	StateControl* stateControl;
	empaquetado vecotrPiso[32];
	empaquetado vectorTecho[32];

	unsigned int floor;
	unsigned int roof;
	unsigned int integer;

	void updateAfterOV();
	void updateAfterUF();

	public: BitManager();

	public: virtual ~BitManager();

	public: void normalize(unsigned long int floor, unsigned long int roof);

	public: string getCompressedString();

	public: unsigned int getNormalizedRoof();

	public: unsigned int getNormalizedFloor();


	public: void setStringToDecompress(string compressedString);

	public: unsigned int getInteger();

	public: int getIntToDescompress();


};

#endif /* BITMANAGER_H_ */
